1. Field of the Invention
The present invention relates to fibre channel networks. More specifically, the present invention relates to methods and apparatus for providing in order delivery of fibre channel packets in a fibre channel network upon detecting a change in a port channel.
2. Description of Related Art
Many conventional network protocols allow the out of order delivery of a packet sequence. A network node in a TCP/IP based network can receive an out of order set of packets and reorder the packets upon receipt. Packets often arrive out of order if they travel along different paths or along different links within a path to reach a destination.
However, some fibre channel applications and devices can not handle out of order packets. A port channel typically includes multiple links connecting two fibre channel entities. Multiple links seen as a single link between two fibre channel entities is referred to herein as a port channel. A change in port channel membership, also referred to herein as a port channel change, can lead to out of order delivery of packets in a fibre channel fabric. In some examples, a port channel change can result from the addition or removal of a link. Some mechanisms in existing networks call for the flushing of all packets in the network upon detecting a port channel change by waiting a certain worst-case period of time. In some examples, a 500 ms wait period is enforced.
Waiting for all of the packets to be flushed can prevent out of order delivery when a port channel change is detected. However, waiting for all of the packets to be flushed can be very disruptive to network operation, as more packets are dropped than is necessary and network operation is at least temporarily halted. In many instances, applications in the storage area network do not efficiently handle 500 ms halts in network operation.
It is therefore desirable to provide methods and apparatus for improving fibre channel packet delivery and providing in order delivery particularly during port channel changes.